package com.jhh.pay.center.search;

import java.util.Map;

public interface Searcher<T extends AbstractMapping> {
    boolean existIndex();

    boolean init();

    boolean deleteIndex();

    void putMapping();

    boolean index(T obj, boolean refresh);

    T get(String id);

    boolean delete(String id);

    <Q extends AbstractQuery> PagedList<T> search(Q query);
    
    boolean update(String id, Map<String, Object> updateProperties);
}
